from torchvision import models
from torchvision import transforms
from PIL import Image
import torch
import numpy as np


def main():
    # In[7]:
    x = torch.ones(())
    print(f"x: {x}, shape:{x.shape}")
    y = torch.from_numpy(np.array([[1], [2], [3]]))
    print(f"y: {y}, shape:{y.shape}")
    z = torch.from_numpy(np.array([1, 2, 3]))
    print(f"z: {z}, shape:{z.shape}")
    a = torch.from_numpy(np.array([[[2]], [[1]]]))
    print(f"a: {a}, shape:{a.shape}")
    print("---------------------------------------------\n")

    print(f"x * y: {x * y}, shape {(x * y).shape}")

    print("---------------------------------------------\n")
    print(f"z: {z}, shape:{z.shape}")
    print(f"y: {y}, shape:{y.shape}")
    print(f"y * z: {y * z}, shape {(y * z).shape}")

    print("---------------------------------------------\n")
    print(f"a: {a}, shape:{a.shape}")
    print(f"z: {z}, shape:{z.shape}")
    print(f"y: {y}, shape:{y.shape}")
    print(f"y * z * a: {y * z * a}, shape:{(y * z * a).shape}")


if __name__ == '__main__':
    main()
